package com.nari.ncps.screen.vo.al;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "污染物排放浓度实时数据VO")
public class AlRealtimePollutantVO {

    @Schema(description = "年份")
    private Integer year;

    @Schema(description = "月份(1-12)")
    private Integer month;

    @Schema(description = "日")
    private Integer day;

    @Schema(description = "实时用电负荷")
    private BigDecimal realTimePowerLoad;

    @Schema(description = "实时用电负荷列表")
    private List<RealTimePowerLoadList> realTimePowerLoadList;

    @Schema(description = "系列电压")
    private BigDecimal seriesU;

    @Schema(description = "系列电流")
    private BigDecimal seriesI;

    @Schema(description = "SO2浓度")
    private BigDecimal so2Level;

    @Schema(description = "颗粒物浓度")
    private BigDecimal pmLevel;

    @Schema(description = "氟化物浓度")
    private BigDecimal fluorideLevel;

    @Schema(description = "安全环保列表")
    private List<SafetyList> SafetyList;

    @Schema(description = "电厂单位编码")
    private BigDecimal orgCode;

    @Schema(description = "电厂单位名称")
    private BigDecimal orgName;

    @Schema(description = "统计时间")
    private BigDecimal statisticTime;

    @Schema(description = "0:年,1:月,2：日")
    private BigDecimal dateType;

    /**
     * 实时用电负荷列表
     */
    @Data
    @Schema(description = "实时用电负荷列表")
    public static class RealTimePowerLoadList {

        @Schema(description = "时刻点")
        private String time;

        @Schema(description = "实时用电负荷")
        private BigDecimal realTimePowerLoad;
    }

    /**
     * 安全环保列表
     */
    @Data
    @Schema(description = "安全环保列表")
    public static class SafetyList {

        @Schema(description = "SO2浓度")
        private BigDecimal so2Level;

        @Schema(description = "颗粒物浓度")
        private BigDecimal pmLevel;

        @Schema(description = "氟化物浓度")
        private BigDecimal fluorideLevel;

        @Schema(description = "SO2浓度历史数据")
        private BigDecimal so2LevelHis;

        @Schema(description = "颗粒物浓度历史数据")
        private BigDecimal pmLevelHis;

        @Schema(description = "氟化物浓度历史数据")
        private BigDecimal fluorideLevelHis;


    }

}
